<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>GROOPS - loopType</title>

    <!-- JQuery and Popper -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>

    <!-- Bootstrap -->
    <!-- https://getbootstrap.com/docs/4.1/examples/ -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <!-- Mathjax -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({tex2jax: {inlineMath: [ ['$','$'] ],
                                  displayMath: [ ["\\[","\\]"] ],
                                  processEscapes: true},
                        TeX:     {Macros: {M: ["{\\mathbf #1}",1]},
                                  equationNumbers: {autoNumber: "all"}  }});
    </script>
    <script async src="https://cdn.jsdelivr.net/npm/mathjax@2.7.7/MathJax.js?config=TeX-AMS_CHTML" integrity="sha384-e/4/LvThKH1gwzXhdbY2AsjR3rm7LHWyhIG5C0jiRfn8AN2eTN5ILeztWw0H9jmN" crossorigin="anonymous"></script>

    <!-- lunr -->
    <script src="https://cdn.jsdelivr.net/npm/lunr@2.3.8/lunr.min.js" integrity="sha384-vRQ9bDyE0Wnu+lMfm57BlYLO0/XauFuKpVsZPs7KEDwYKktWi5+Kz3MP8++DFlRY" crossorigin="anonymous"></script>

    <!-- Mustache -->
    <script src="https://cdn.jsdelivr.net/npm/mustache@4.0.1/mustache.min.js" integrity="sha384-0PLEZVBpOQ+Kqw3anJWSNWvRxpEFt02tSpBvyRsA4WcvX/OTldWdXxGLVLvh954H" crossorigin="anonymous"></script>

    <!-- GROOPS Stylesheet -->
    <link rel="stylesheet" href="static/groops.css"/>

    <!-- icon -->
    <link rel="icon" href="static/groops_icon.png">

</head>
<body>
    <header>
        <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
            <div class="container">
              <a class="navbar-brand" href="index.html"><img class="logo" src="static/groops_white.svg"></a>
              <div class="collapse navbar-collapse" id="mainNavbar">
                <ul class="navbar-nav mr-auto">
                  <li class="nav-item">
                    <a class="nav-link" href="programType.html">Programs</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="classes.html">Classes</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="general.parser.html">Parser</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="general.fileFormat.html">File Formats</a>
                  </li>
                </ul>
              </div>
                <form class="form-inline my-2 my-lg-0" action="search.html" id="searchTools">
                  <input class="form-control mr-sm-2" placeholder="Search" name="searchTerms" method="GET" value="" type="text" id="searchBox">
                  <button class="btn btn-secondary my-2 my-sm-0" type="submit" id="searchButton">Search</button>
                </form>
              <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNavbar" aria-controls="mainNavbar" aria-expanded="false" aria-label="Toggle navigation" style="">
                <span class="navbar-toggler-icon"></span>
              </button>
            </div>
        </nav>
    </header>
    <main class="container px-0 pt-2 top-buffer">
        <div id="content" class="container">
            
<h1 id="loopType">Loop</h1><p>
Generates a sequence with variables to loop over.
The variable names can be set with <strong class="groops-config-element">variableLoop...</strong> and
the current values are assigned to the variables for each loop step.</p><p>With <a class="groops-class" href="conditionType.html">condition</a> only a subset of loop steps are performed.
The <strong class="groops-config-element">variableLoopIndex</strong> and <strong class="groops-config-element">variableLoopCount</strong> are not affected by the condition.
The result would therefore be the same as using <a class="groops-program" href="LoopPrograms.html">LoopPrograms</a> with a nested <a class="groops-program" href="IfPrograms.html">IfPrograms</a>.</p><p>See <a class="groops-ref" href="general.loopsAndConditions.html">Loop and conditions</a> for usage.
</p>

<h2 id="timeSeries">TimeSeries</h2><p>
Loop over points in time.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">timeSeries</div></div></td><td><a href="timeSeriesType.html">timeSeries</a></td><td>loop is called for every point in time</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTime</div></div></td><td>string</td><td>variable with time of each loop</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="timeIntervals">TimeIntervals</h2><p>
Loop over the intervals between points in time.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">timeIntervals</div></div></td><td><a href="timeSeriesType.html">timeSeries</a></td><td>loop is called for every interval</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeStart</div></div></td><td>string</td><td>variable with starting time of each interval</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeEnd</div></div></td><td>string</td><td>variable with ending time of each interval</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="stringList">StringList</h2><p>
Loop over list of strings.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">string</div></div></td><td>string</td><td>explicit list of strings</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopString</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="stringTable">StringTable</h2><p>
Loop over <strong class="groops-config-element">row</strong>s of a table containing strings.
Each row must have the same number of cells.
For each column an extra <strong class="groops-config-element">variableLoopString</strong> can be defined.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">row</div></div></td><td>sequence</td><td>rows of a table</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset-unbounded">cell</div></div></td><td>string</td><td>list of columns in a row</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">transpose</div></div></td><td>boolean</td><td>loop over columns instead of rows</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">variableLoopString</div></div></td><td>string</td><td>1. variable name for the 1. column, next variable name for the 2. column, ... </td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="fileStringList">FileStringList</h2><p>
Loop over list of strings from <a class="groops-file" href="fileFormat_stringList.html">files</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">inputfile</div></div></td><td>filename</td><td>string list file</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopString</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="fileStringTable">FileStringTable</h2><p>
Loop over rows of a <a class="groops-file" href="fileFormat_stringTable.html">table</a> containing strings.
Each row must have the same number of columns.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">inputfile</div></div></td><td>filename</td><td>string table file with multiple columns</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">transpose</div></div></td><td>boolean</td><td>loop over columns instead of rows</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">variableLoopString</div></div></td><td>string</td><td>1. variable name for the 1. column, next variable name for the 2. column, ... </td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="fileTextLines">FileTextLines</h2><p>
Loop over lines of a text file.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">inputfile</div></div></td><td>filename</td><td>simple text file with lines</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">startIndex</div></div></td><td>uint</td><td>start at element startIndex (counting from 0)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">count</div></div></td><td>uint</td><td>use number of loops only (default: use all)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopLine</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="matrix">Matrix</h2><p>
Loop over rows of a <a class="groops-file" href="fileFormat_matrix.html">matrix</a>. To define the loop variables the standard
data variables of the matrix are available, see <a class="groops-ref" href="general.parser.html#dataVariables">dataVariables</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfile</div></div></td><td>filename</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">transpose</div></div></td><td>boolean</td><td>effectively loop over columns</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">startRow</div></div></td><td>expression</td><td>start at this row (variable: rows)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">countRows</div></div></td><td>expression</td><td>use this many rows (variable: rows)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">variableLoop</div></div></td><td>expression</td><td>define a variable by name = expression (input columns are named data0, data1, ...)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="numberSequence">NumberSequence</h2><p>
Loop over sequence of numbers.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rangeStart</div></div></td><td>double</td><td>start of range</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rangeEnd</div></div></td><td>double</td><td>end of range (inclusive)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">sampling</div></div></td><td>double</td><td>sampling</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopNumber</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="directoryListing">DirectoryListing</h2><p>
Loop over files of a directory.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">directory</div></div></td><td>filename</td><td>directory</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">pattern</div></div></td><td>string</td><td>wildcard pattern</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">isRegularExpression</div></div></td><td>boolean</td><td>pattern is a regular expression</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopFile</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="commandOutput">CommandOutput</h2><p>
Loop over lines of command output.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">command</div></div></td><td>filename</td><td>each output line becomes a loop iteration</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">silently</div></div></td><td>boolean</td><td>without showing the output.</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopString</div></div></td><td>string</td><td>name of the variable to be replaced</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="platformEquipment">PlatformEquipment</h2><p>
Loop over specific equipment of a <a class="groops-file" href="fileFormat_platform.html">platform file</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfilePlatform</div></div></td><td>filename</td><td>platform info file</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">equipmentType</div></div></td><td>choice</td><td>equipment type to loop over</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">all</div></div></td><td></td><td>loop over all types</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">gnssAntenna</div></div></td><td></td><td>loop over antennas</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">gnssReceiver</div></div></td><td></td><td>loop over receivers</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">slrStation</div></div></td><td></td><td>loop over SLR stations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">slrRetroReflector</div></div></td><td></td><td>loop over laser retroreflectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">satelliteIdentifier</div></div></td><td></td><td>loop over satellite identifiers</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">other</div></div></td><td></td><td>loop over other types</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopName</div></div></td><td>string</td><td>variable with name</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopSerial</div></div></td><td>string</td><td>variable with serial</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopInfo</div></div></td><td>string</td><td>variable with radome (antenna) or version (receiver)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeStart</div></div></td><td>string</td><td>variable with start time</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeEnd</div></div></td><td>string</td><td>variable with end time</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopPositionX</div></div></td><td>string</td><td>variable with position x</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopPositionY</div></div></td><td>string</td><td>variable with position y</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopPositionY</div></div></td><td>string</td><td>variable with position z</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="loop">Loop</h2><p>
Loop over nested loops. First <strong class="groops-config-element">loop</strong> is outermost loop, every subsequent <strong class="groops-config-element">loop</strong> is one level below the previous <strong class="groops-config-element">loop</strong>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">loop</div></div></td><td><a href="loopType.html">loop</a></td><td>subloop</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2 id="sortAndRemoveDuplicates">SortAndRemoveDuplicates</h2><p>
Perform the <a class="groops-class" href="loopType.html">loop</a> in the alphabetically
order defined by the evaluated <strong class="groops-config-element">sortString</strong> for each loop step.
So the string must contain loop variables. If <strong class="groops-config-element">sortString</strong>
is empty, no sorting will take place.</p><p>Example: The <strong class="groops-config-element">sortString</strong>=<code>{loopTime:%m}</code> of a time series
sorts the times in ascending order by month.</p><p>The same principle is used to remove duplicates. If different loop steps
evaluates <strong class="groops-config-element">removeDuplicatesString</strong> to the same string,
only the first loop step is executed.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">loop</div></div></td><td><a href="loopType.html">loop</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">sortString</div></div></td><td>string</td><td>use {loopVariables}, sort alphabetically</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">descending</div></div></td><td>boolean</td><td>sorting descending instead of ascending</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">removeDuplicatesString</div></div></td><td>string</td><td>use {loopVariables}, remove duplicates (order is preserved)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2>ManualTable</h2><p>
DEPRECATED since 2025-09-27. Use LoopStringTable instead.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">table</div></div></td><td>choice</td><td>define table by rows/columns</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">rowWise</div></div></td><td>sequence</td><td>define table by rows</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-2"><div class="h-100 config mustset-unbounded">row</div></div></td><td>sequence</td><td>define table by rows</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-3"><div class="h-100 config mustset-unbounded">cell</div></div></td><td>string</td><td>explicit list of cells in row/column</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">columnWise</div></div></td><td>sequence</td><td>define table by columns</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-2"><div class="h-100 config mustset-unbounded">column</div></div></td><td>sequence</td><td>define table by columns</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-3"><div class="h-100 config mustset-unbounded">cell</div></div></td><td>string</td><td>explicit list of cells in row/column</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">variableLoopString</div></div></td><td>string</td><td>1. variable name for the 1. column, next variable name for the 2. column, ... </td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

<h2>FileGnssStationInfo</h2><p>
DEPRECATED since 2022-11-11. Use LoopPlatformEquipment instead.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileGnssStationInfo</div></div></td><td>filename</td><td>station/transmitter info file</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">infoType</div></div></td><td>choice</td><td>info to loop over</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">antenna</div></div></td><td></td><td>loop over antennas</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">receiver</div></div></td><td></td><td>loop over receivers</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopName</div></div></td><td>string</td><td>variable with antenna/receiver name</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopSerial</div></div></td><td>string</td><td>variable with antenna/receiver serial</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopInfo</div></div></td><td>string</td><td>variable with radome (antenna) or version (receiver)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeStart</div></div></td><td>string</td><td>variable with antenna/receiver start time</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopTimeEnd</div></div></td><td>string</td><td>variable with antenna/receiver end time</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopIndex</div></div></td><td>string</td><td>variable with index of current iteration (starts with zero)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">variableLoopCount</div></div></td><td>string</td><td>variable with total number of iterations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">condition</div></div></td><td><a href="conditionType.html">condition</a></td><td>check before each loop step</td></tr>
</table>

        </div>
    </main>
</body>
</html>
